package com.tencreat.service.mall;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tencreat.common.core.domain.model.ReqIdParam;
import com.tencreat.common.core.domain.model.ReqIdsParam;
import com.tencreat.domain.mall.MallAppCategory;
import com.tencreat.domain.mall.MallCategory;
import com.tencreat.domain.mall.vo.MallCategoryVO;

import java.util.List;

/**
 * APP类目Service接口
 *
 * @author tencreat
 * @date 2021-08-13
 */
public interface IMallAppCategoryService extends IService<MallAppCategory> {
    /**
     * 查询类目
     *
     * @param id 类目ID
     * @return 类目
     */
    public MallAppCategory selectMallAppCategoryById(ReqIdParam id);

    /**
     * 查询类目列表
     *
     * @param mallAppCategory 类目
     * @return 类目集合
     */
    public List<MallAppCategory> selectMallAppCategoryList(MallAppCategory mallAppCategory);

    /**
     * 新增类目
     *
     * @param mallAppCategory 类目
     * @return 结果
     */
    public int insertMallAppCategory(MallAppCategory mallAppCategory);

    /**
     * 修改类目
     *
     * @param mallAppCategory 类目
     * @return 结果
     */
    public int updateMallAppCategory(MallAppCategory mallAppCategory);

    /**
     * 批量删除类目
     *
     * @param ids 需要删除的类目ID
     * @return 结果
     */
    public int deleteMallAppCategoryByIds(ReqIdsParam ids);

    /**
     * 删除类目信息
     *
     * @param id 类目ID
     * @return 结果
     */
    public int deleteMallAppCategoryById(ReqIdParam id);

    /**
     * 获取顶级分类
     * @return
     */
    List<MallAppCategory> listPatent();

    /**
     * 获取指定目录下的子目录
     * @param reqIdParam
     * @return
     */
    List<MallAppCategory> listChild(ReqIdParam reqIdParam);

    List<MallCategoryVO> listMedical();


    List<MallCategoryVO> listFoods();

    boolean reSortOrderReduce(MallAppCategory reqIdParam);

    boolean reSortOrderPlus(MallAppCategory reqIdParam);
}
